1. Field of the Invention
This invention relates to the field of creating, manipulating and displaying graphic images and in particular to a method and apparatus for creating, manipulating and displaying images in connection with a computer system.
2. Background Art
One application of computers and computer systems is the generation and manipulation of images. These images range from plots of mathematical functions and relationships to detailed "drawings" generated and displayed on a computer display. In other instances, images are digitized and stored in computer memory and the digitized images enhanced or altered using a computer system. The altered images are then displayed, reprinted or forwarded to an output device with the alterations included.
Typically, the methods and apparatus used to create, manipulate and display images are referred to as "paint" systems. This is because many computer systems use a "brush" metaphor associated with input and manipulation of graphics, images and the like. For purposes of the present invention, the term "paint system" refers to any method and/or apparatus for creating, modifying, manipulating, coloring and/or displaying information, data or images using a computer or display system.
Generally a paint system includes a computer or computer system, one or more memory units, a monitor, an input device and a user interface. The computer system may be a general purpose computer or a special purpose computer system such as the Pixar Image Computer.TM. manufactured by the assignee of the present invention.
The memory unit is analogous to a "canvas" in that it stores the image to be manipulated or that has been created by the user. The stored image is viewed by the user on a monitor, which may be a CRT device. In the present invention, we will refer to a "color" paint system in which a variety of colors can be displayed on the monitor and specified in the memory. However, it will be apparent that the present invention will have equal application to a mono-chromatic or gray scale paint system.
The user inputs information, selects and executes operations and manipulates screen images with an electronic stylus, "mouse," or other input device which performs the function of the brush of the paint system. A cursor having a user-selectable brush image is displayed on the display device. This input device is selectably movable by the user. When moved in its input mode, the cursor on the display moves correspondingly. Typically, if the stylus is pressed against a surface, the cursor is "active". When the stylus is not pressed against a surface, the cursor is "inactive". An active cursor affects and changes the displayed image (and potentially the stored image) while an inactive cursor does not.
The user interface may include various colors, operations and settings a user may select when painting. The display may include a "palette" of colors. The user may define new colors by mixing displayed colors. Similarly, the user may select different brush shapes and sizes for different applications in creating or manipulating images. The brush is generally displayed as a two-dimensional cursor shape which may be circular, rectangular, or an irregular shape or "custom" shape.
The paint system user interface typically includes a rectangular work area on the display for displaying the stored image or some portion of it. The user uses the brush to manipulate the displayed area of the image. One or more borders of the display may contain icons, palettes, or selectors for implementing operations in the paint system. For example, a group of colors can be displayed along a border, with more colors being available for viewing through a scroll bar or rotation means. Icons representing different functions act as switches or buttons. When selected using the cursor, the operation represented by that icon is set to be performed in the work area.
Simple paint tools include pencils, brushes and erasers (for removing painted portions of an image). Common paint operations include; (1) "fill" to fill a bounded region or object with a color, pattern and/or texture; (2) "straight line" to generate a straight line from a first user selected origin point to a second user selected endpoint; (3) "circle" to create a circle of user-selected diameter; and (4) "rectangle" to create squares and rectangles of user selected dimensions. In addition, many paint systems include a "magnify" operation for expanding the resolution of a portion of an image for more detailed manipulation.
Some prior art paint systems are described in:
1. Painting Tutorial Notes, Alvy Ray Smith, Siggraph, Aug. 6-10, 1979. PA0 2. Merging and Transformation of Raster Images for Cartoon Animation, Bruce A Wallace, Computer Graphics, Volume 15, Number 3, August 1981, Pages 253-262. PA0 3. A Frame-Buffer System with Enhanced Functionality, F. C. Crow, M. W. Howard, Computer Graphics, Volume 15, Number 3, August 1981. PA0 4. Paint, Alvy Ray Smith, Computer Graphics Lab, New York Institute of Technology, Technical Memo Number 7, Jul. 20, 1978.